iT邦幫忙

2024 iThome 鐵人賽

DAY 23
0
JavaScript

30天享用JavaScript概念三明治系列 第 23

Day23:Falsy Value & Truthy Value

  • 分享至 

  • xImage
  •  

Falsy Value(假值) (P2-52) (P2-58)

  • 在JavaScript裡,固定的一些值在被轉型成布林值後必被判斷為false的情況,被稱為Falsy Value(假值):
  1. "":空字串

  2. 0-0:正、負零

  3. NaN:Not a Number
    當不是數值型別與數值一起運算或想轉數值型別不成功無法計算時,會回傳NaN。而NaN是數值型別。

    console.log(Number(23 + "day")); // NaN
    console.log(typeof NaN); // "number"
    
  4. null:空值 「要讓這個變數的值是空的。」

    var a = null;
    console.log(a); // null
    console.log(typeof null); // "object"
    

    奇妙現象,使用typeof觀察null型別,不是null型別而是object物件型別。據說是最初創造JavaScript的bug,隨著使用率高評估後不適合修改的關係。

  5. undefined:未定義 「某變數已被宣告,但值的內容未被定義的預設值。」

    var b;
    console.log(b); // undefined
    console.log(typeof undefined); // "undefined"
    
  6. false:false


Boolean("") // false
Boolean(0) // false
Boolean(-0) // false
Boolean(NaN) // false
Boolean(null) // false
Boolean(undefined) // false
Boolean(false) // false

Truthy Valuev(真值) (P2-59)

  • 真值的情況較多,除了Falsy Value以外的值都是Truthy Value

範例:

  1. "0""false":空字串以外的字串
  2. []:空陣列
  3. {}:空物件
  4. function(){}:空函式

Boolean("0") // true
Boolean("false") // true
Boolean([]) // true
Boolean({}) // true
Boolean(function(){}) // true

上一篇
Day22:邏輯運算子
下一篇
Day24:強制轉型
系列文
30天享用JavaScript概念三明治30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言